
/**
 * 显示菜单
 */
function showMenu() {
  const prompt = require('@system.prompt')
  const router = require('@system.router')
  const appInfo = require('@system.app').getInfo()
  prompt.showContextMenu({
    itemList: ['保存桌面', '关于', '取消'],
    success: function (ret) {
      switch (ret.index) {
        case 0:
          // 保存桌面
          createShortcut()
          break
        case 1:
          // 关于
          router.push({
            uri: '/About',
            params: {
              name: appInfo.name,
              icon: appInfo.icon
            }
          })
          break
        case 2:
          // 取消
          break
        default:
          prompt.showToast({
            message: 'error'
          })
      }
    }
  })
}

/**
 * 创建桌面图标
 * 注意：使用加载器测试`创建桌面快捷方式`功能时，请先在`系统设置`中打开`应用加载器`的`桌面快捷方式`权限
 */
function createShortcut() {
  const prompt = require('@system.prompt')
  const shortcut = require('@system.shortcut')
  shortcut.hasInstalled({
    success: function (ret) {
      if (ret) {
        prompt.showToast({
          message: '已创建桌面图标'
        })
      } else {
        shortcut.install({
          success: function () {
            prompt.showToast({
              message: '成功创建桌面图标'
            })
          },
          fail: function (errmsg, errcode) {
            prompt.showToast({
              message: `${errcode}: ${errmsg}`
            })
          }
        })
      }
    }
  })
}

/**
 * 获取指定日期属于星期几
 * 参数：指定日期
 */
function getWeekDay(obj) {
  var a = new Array("周日", "周一", "周二", "周三", "周四", "周五", "周六");
  var week = obj.getDay();
  return a[week];
}


/**
 * 判断当前日期为当年第几周
 * 参数：指定日期
 */
function getYearWeek(obj) {
  let a = obj.getFullYear();
  let b = obj.getMonth();
  let c = obj.getDate();
  //date1是当前日期
  //date2是当年第一天
  //d是当前日期是今年第多少天
  //用d + 当前年的第一天的周差距的和在除以7就是本年第几周
  var date1 = new Date(a, parseInt(b) - 1, c), date2 = new Date(a, 0, 1),
    d = Math.round((date1.valueOf() - date2.valueOf()) / 86400000);
  return "第" + Math.ceil((d + ((date2.getDay() + 1) - 1)) / 7) + "周";
}
/**
 * 获取YYYYMMDD格式的日期
 * 参数：指定日期
 */
function getYYYYMMDD(d) {
  var curr_date = d.getDate();
  var curr_month = d.getMonth() + 1;
  var curr_year = d.getFullYear();
  String(curr_month).length < 2 ? (curr_month = "0" + curr_month) : curr_month;
  String(curr_date).length < 2 ? (curr_date = "0" + curr_date) : curr_date;
  var yyyyMMdd = curr_year + "" + curr_month + "" + curr_date;
  return yyyyMMdd;
}


function getTimeStamp(obj) {
  return obj.valueOf();
}

export default {
  showMenu,
  createShortcut,
  getWeekDay,
  getYearWeek,
  getTimeStamp,
  getYYYYMMDD
}
